<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>Document</title>
        <script src="../vue.js"></script>
        <style>
            .a {
                background: gold;
            }
        </style>
    </head>
    <body>
        <div id="app">
            <com>{{msg}}</com>
        </div>
        <!-- <template id="com">
            <button><slot></slot></button>
        </template> -->
        <script>
            let com = {
                // template: '#com',
                /* createElement(): 简写h
                   第一个参数:  'div'   {String | Object | Function}
                   第二个参数: 这里可以设置对象的各种属性 {}     {Object}
                   第三个参数: 是节点的文本也可以创建子节点   {String | Array}
                */
                render: function (createElement) {
                    console.log(createElement);
                    return createElement('button', '新闻');
                },
            };
            let vm = new Vue({
                el: '#app',
                data() {
                    return {
                        msg: '按钮22222',
                    };
                },
                methods: {},
                components: {
                    com,
                },
            });

            /*
                a: {String}
                b: {Object}
                c: {String}
            */
            function fn(a, b, c) {
                // let a, b, c;
                if (typeof b != 'object' && typeof b == 'string') {
                    c = b;
                    b = '';
                }

                // console.log(a);
                // if (typeof b == 'object') {  // "object"
                //     console.log(b);
                //     console.log(c);
                // } else {
                //     c = b;
                //     console.log(c);
                // }
                console.log(a); // '1'
                console.log(b); //
                console.log(c); //  'hello'
            }
            // fn('1', { name: 'wangjin' }, 'hello');
            fn('1', 'hello');
        </script>
    </body>
</html>
